<html>
	<head>
		<meta charset="utf-8"></meta>
		<title>BObcDocument</title>
		<link href="./style.css" rel="stylesheet" type="text/css"/>
	</head>
	<body>
		<div id="SIGN"><h3>enum SIGN</h3></div>
		<div class="class" name="BObcDocument">
			<h1>BObcDocument</h1>
			<p>继承自<a href="BObject.html">BObject</a></p>
			<p id="resume"><a href="#desc">详细</a></p>
			<h2>public</h2>
			<table id="public">
				<tr><td align="right">class </td><td><a href="#BWEAPI AutoChunk">BWEAPI AutoChunk</a></td></tr>
			</table>
			<h2>public</h2>
			<table id="public">
				<tr><td align="right"></td><td><a href="#BObcDocument()">BObcDocument</a>();</td></tr>
				<tr><td align="right"></td><td><a href="#~BObcDocument()">~BObcDocument</a>();</td></tr>
				<tr><td align="right">virtual BObject* </td><td><a href="#create(BUShort)">create</a>(BUShort sign) const;</td></tr>
				<tr><td align="right">void </td><td><a href="#regist(const BString&, BUShort, READ, WRITE)">regist</a>(const BString& type, BUShort sign, READ read, WRITE write);</td></tr>
				<tr><td align="right">void </td><td><a href="#regist(const BString&, BUShort, readChunk, writeChunk)">regist</a>(const BString& type, BUShort sign, readChunk read, writeChunk write);</td></tr>
				<tr><td align="right">BObject* </td><td><a href="#load(const BString&)">load</a>(const BString& fileName);</td></tr>
				<tr><td align="right">bool </td><td><a href="#load(const BString&, BObject*)">load</a>(const BString& fileName, BObject* object);</td></tr>
				<tr><td align="right">bool </td><td><a href="#save(const BString&, const BObject*)">save</a>(const BString& fileName, const BObject* object) const;</td></tr>
				<tr><td align="right">BObject* </td><td><a href="#read(const BStream&)">read</a>(const BStream& stream);</td></tr>
				<tr><td align="right">bool </td><td><a href="#read(const BStream&, BObject*)">read</a>(const BStream& stream, BObject* object);</td></tr>
				<tr><td align="right">bool </td><td><a href="#write(BStream&, const BObject*)">write</a>(BStream& stream, const BObject* object) const;</td></tr>
				<tr><td align="right">BString& </td><td><a href="#message()">message</a>();</td></tr>
				<tr><td align="right">const BString& </td><td><a href="#message()">message</a>() const;</td></tr>
			</table>
			<h2>protected</h2>
			<table id="protected">
				<tr><td align="right">BObject* </td><td><a href="#objectOfId(int)">objectOfId</a>(int id);</td></tr>
				<tr><td align="right">int </td><td><a href="#objectId(const BObject*)">objectId</a>(const BObject* object);</td></tr>
				<tr><td align="right">BUShort </td><td><a href="#peekSign()">peekSign</a>() const;</td></tr>
				<tr><td align="right">BObject* </td><td><a href="#readObject()">readObject</a>();</td></tr>
				<tr><td align="right">bool </td><td><a href="#writeObject(const BObject*)">writeObject</a>(const BObject* object) const;</td></tr>
			</table>
			<div id="desc">
				<h2>详细介绍：</h2>
				<p>Obc is BWE object binary chunk format, BObcDocument class is a tool to read and write obc data to special stream. An obc document has no head part, it starts with a chunk. A chunk contains infomation by four interge value;</p><table>
					<tr><td>CHUNK_MTP</td><td>10</td><td>Contains materials, textures, programs, for following objects.</td></tr>
					<tr><td>CHUNK_SCENE</td><td>11</td><td>This chunk is data of BScene.</td></tr>
					<tr><td>CHUNK_NODE</td><td>12</td><td>This chunk is data of BNode.</td></tr>
					<tr><td>CHUNK_LIGHT</td><td>13</td><td>This chunk is data of BLight.</td></tr>
					<tr><td>CHUNK_CAMERA</td><td>14</td><td>This chunk is data of BCamera.</td></tr></table>
			</div>
			<h2 id="docs">成员文档：</h2>
			<div id="BWEAPI AutoChunk">
				<h3>class BWEAPI AutoChunk</h3>
			</div>
			<div id="BObcDocument()">
				<h3>BObcDocument();</h3>
			</div>
			<div id="~BObcDocument()">
				<h3>~BObcDocument();</h3>
			</div>
			<div id="create(BUShort)">
				<h3>virtual BObject* create(BUShort sign) const;</h3>
			</div>
			<div id="regist(const BString&, BUShort, READ, WRITE)">
				<h3>void regist(const BString&amp; type, BUShort sign, READ read, WRITE write);</h3>
			</div>
			<div id="regist(const BString&, BUShort, readChunk, writeChunk)">
				<h3>void regist(const BString&amp; type, BUShort sign, readChunk read, writeChunk write);</h3>
			</div>
			<div id="load(const BString&)">
				<h3>BObject* load(const BString&amp; fileName);</h3>
			</div>
			<div id="load(const BString&, BObject*)">
				<h3>bool load(const BString&amp; fileName, BObject* object);</h3>
			</div>
			<div id="save(const BString&, const BObject*)">
				<h3>bool save(const BString&amp; fileName, const BObject* object) const;</h3>
			</div>
			<div id="read(const BStream&)">
				<h3>BObject* read(const BStream&amp; stream);</h3>
			</div>
			<div id="read(const BStream&, BObject*)">
				<h3>bool read(const BStream&amp; stream, BObject* object);</h3>
			</div>
			<div id="write(BStream&, const BObject*)">
				<h3>bool write(BStream&amp; stream, const BObject* object) const;</h3>
			</div>
			<div id="message()">
				<h3>BString&amp; message();</h3>
			</div>
			<div id="message()">
				<h3>const BString&amp; message() const;</h3>
			</div>
			<div id="objectOfId(int)">
				<h3>BObject* objectOfId(int id);</h3>
			</div>
			<div id="objectId(const BObject*)">
				<h3>int objectId(const BObject* object);</h3>
			</div>
			<div id="peekSign()">
				<h3>BUShort peekSign() const;</h3>
			</div>
			<div id="readObject()">
				<h3>BObject* readObject();</h3>
			</div>
			<div id="writeObject(const BObject*)">
				<h3>bool writeObject(const BObject* object) const;</h3>
			</div>
		</div>
	</body>
</html>